A distributed computing service/platform may be operated by an entity in order to provide multiple tenants with a set of business related applications, data storage, and functionality. These applications and functionality may include ones that a business uses to manage various aspects of its operations. For example, the applications and functionality may include providing web-based access to business information systems, thereby allowing a user with a browser and an Internet or intranet connection to view, enter, process, or modify certain types of business information. A multi-tenant data processing platform typically executes data processing operations on behalf of many tenants/customers using a fixed set of computing resources. Such a platform generally does this by executing operations on separate threads of execution within a single operating system process. In order to ensure a consistent quality of service for the tenants, the platform may need to restrict the ability of one operation to consume excessive resources to the detriment of other operations that are executing at the same time (where the resources in question are primarily processing (CPU) time and memory (RAM)).
However, certain tenants may wish to be able to customize their data processing operations to better meet their business needs. These customizations are intended to interact tightly with the functionality provided by the platform. However, as the complexity and flexibility of the customization processes increases, the ability of the platform operator to restrict the resource utilization of the data processing operations decreases. Conventional approaches to addressing the impact of tenant/customer customizations to data processing operations on the resource allocation and operation of a multi-tenant platform fail to effectively solve the problems presented while maintaining the benefits of a multi-tenant platform. Embodiments are directed toward solving these and other problems individually and collectively.
Note that the same numbers are used throughout the disclosure and figures to reference like components and features.